Table of Contents

• Configurando o output em HTML

• Importando bibliotecas

• Analisando database

• Gráficos das variáveis categóricas e binárias

Insights:

- Temos de tratar os dados inconsistentes de idade;

- Temos de tratar esses dados inconsistentes de estado civil;

- Temos de tratar os dados faltantes em Income;

- Colunas Z_Revenue e Z_CostContact constantes e devem ser removidas da ánalise;

- Coluna Dt_Customer possui alta cardinalidade e também não deve ser levada em conta;

- Coluna Income é muito relacionada com as colunas de vendas;

- Podemos criar colunas novas como: Total gasto em todos os produtos, número de filhos em casa, total de campanhas aceitas, etc.

• Tratando valores inconsistentes

Eliminando pessoas com mais de 120 anos.

Eliminando estado civil = 'YOLO' E 'Absurd'.

Juntando os casos de 'Together' com 'Married' e 'Alone' com 'Single'.

Tratando valorantes faltantes na coluna Income:

Poderíamos simplesmente ter retirado estes valores, porém isso representaria aproximadamente 1% da base de dados total, assim, a medida menos "danosa" estatisticamente é preencher com a média.

Criando novas variáveis de interesse

Variável do gasto total em produtos

Variável do número total de filhos em casa

Variável do número total de campanhas aceitas

• Fazendo histogramas

Histograma das Campanhas:

Histogramas das vendas por produto

Insights:

- Vinhos e carnes arrecadam valor bruto maior.

- A maioria das pessoas gastam entre 0 e 4 reais em Peixes, Frutas e Doces.

Histogramas dos dados categóricos de pessoas que aceitaram a Campanha.

Restrigindo DataFrame apenas para quem aceitou a campanha

Criando coluna Idade

Criando histogramas de perfil de usuário e de consumo

Determinando a soma gasta em cada produto

Análise de dados

Público Alvo:

- Pessoas com pelo menos uma graduação;

- Com idades entre 38-53 anos;

- Sem filhos ou com 1 filho;

- Com renda acima dos 60k;

- Que fizeram compras nos últimos 20 dias;

- Compram mais Vinhos e Carnes.

Histograma das vendas por plataforma

Insights:

- Pessoas que vão às lojas compram pelo menos 2 itens.

- Pessoas que compram pelo catálogo tendem a comprar poucos itens (gerlamente 1 ou 2)

- Pessoas que compram pela Web também levam 2 itens no mínimo.

Insights:

- Quanto maior o salário maior o consumo de produtos.

Verificando se existe correlação entre tipos de produtos com quantidade de crianças ou adolescentes em casa.

Ex: Ter crianças em casa estimularia uma maior compra de doces ou frutas.

Insights:

- Não há correlação significativa entre quantidade de crianças ou adolescentes em casa com os produtos comprados.

- Pessoas sem filhos continuam sendo as que mais consomem em quase todas as categorias, exceto em produtos Gold.

• Tratamento dos dados

Removendo colunas que não são previsores e removendo a coluna Dt_Customer pela alta cardinalidade.

Definindo os previsores e classe

Fazendo o Enconder das colunas utilizando a função get_dummies

Mais fácil para trabalhar com os nomes de cada atributo após rodar o modelo do que o método LabelEncoder + OneHotEncoder

Criando uma matriz de correlação entre todos os parâmetros originais + parâmetros dummies e vendo correlações com o Response

Printando os valores mais correlacionados.

Obs: Não esquecer que a variável Recency possui correlação inversa com os dados, sugerindo que quanto mais recente o cliente fez uma compra, mais chances ele tem de aderir a campanha.

• Conclusões da Análise de dados

A partir da análise dos histogramas, tabelas e correlações estatísticas dos dados, foi possível concluir que:

- A variável de interesse Response é bem correlacionada com o Total gasto em produtos, que por sua vez é diretamente ligado ao Income. Portanto, temos uma ligação com um público de maior poder aquisitivo estabelecida. Este público, por sua vez, tende a comprar mais em lojas físicas e catálogos, portanto, propagandas para este público podem ser veiculadas nestes meios.

Observando índices de correlação dos parâmetros percebemos que, dos 8 indicados acima, metade correspondem a variáveis relacionadas a aceitação de campanhas anteriores.

Dessa forma, parece razoável inferir que já existe um público fidelizado que frequentemente aceita as campanhas.

Além disso, as pessoas que gastam mais (que já vimos serem as pessoas de renda maior) também são mais suscetíveis a aceitarem as campanhas. Essa relação também pode ser relacionada com as categorias de Vinhos e Carnes, que se mostraram ter os maiores valores brutos de venda e possuírem os maiores índices de correlação com o Response dentre as variáveis de produtos.

Um outro parâmetro que demonstrou relação interessante foi o Recency, revelando que clientes que compraram algum produto nos dias anteriores ao da última campanha tinham mais chances de aceitar a esta.

• Árvore de Decisão

O primeiro modelo que estudaremos aqui será uma Árvore de Decisão.

Como temos relativamente poucos dados, usaremos uma proporção de 75/25 entre treinamento e teste.

Foram feitas diversas rodagens para analisar qual o melhor valor de profundidade e optamos pelo valor de max_depth=4 pelo fato de maximizar a pontuação de teste sem que os dados de treinamento mostrem um overfitting com a amostra.

Plotando a árvore

Printando os parâmetros de maior peso na árvore.

Podemos perceber que os parâmetros de maior peso para este modelo são:

- Aceitação total das campanhas;

- Recency;

- Estado Civil Casado.

• Random Forest

Para o modelo Random Forest usaremos 100 estimadores e critério de entropia (que se mostrou ligeiramente mais acurado)

Plotando uma das 100 árvores criadas

Printando os parâmetros de maior peso na árvore.

Podemos perceber que os parâmetros de maior peso para este modelo são:

- Recency;

- Total;

- Income / Gastos em Carnes.

• SVM

Para este modelo, é de extrema importância o Escalonamento de valores. Usaremos o modelo de padronização [-1:1].

Fitando os dados, usando um kernel linear, uma vez que, ele demonstrou acurácia praticamente igual ao kernel 'rbf' e este é necessário para conseguirmos retirar os parâmetros de maior peso do modelo.

Analisando os parâmetros de maior peso

Podemos perceber que os parâmetros de maior peso para este modelo são:

- Recency;

- Número de visitas ao site no último mês;

- Número de compras em lojas;

- Gastos em Carnes.

• Modelo Naïve Bayes

O modelo Bayesiano não mostrou acurácia suficiente para entrar em nossas decisões e por isso será desconsiderado das conclusões.

• Conclusões dos modelos de Machine Learning

Árvore de Decisão:

Score de 0.89 com a amostra de teste

Revelou que a aceitação das campanhas 5 e 3, juntamente com o Recency, são os maiores previsores.

Random Forest:

Score de 0.89 com a amostra de teste

Revelou que Recency, Total de gastos e Income são os maiores previsores.

SVM:

Score de 0.86 com a amostra de teste

Revelou que Recency, número de visitas a Web e Aceitação da campanha 5 são os maiores previsores.

Conclusões finais:

Os dados mostram que o público, em números absolutos, que mais aderiu a campanha foi:

- Pessoas com pelo menos uma graduação;

- Casadas;

- Com idades entre 38-53 anos;

- Sem filhos ou com 1 filho;

- Com renda acima dos 60k;

Lembrando que, embora estas características sejam maioria, elas não são argumentos preditores. As características de maior peso estatístico na análise e ciência de dados foram:

- A recência com que as pessoas fizeram as compras;

- O valor gasto em Vinhos e Carnes;

- A aceitação de alguma campanha anterior;

- A renda anual.